package pe.adra.core.mvc;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.springframework.web.bind.annotation.RequestMapping;

import pe.adra.core.ext.soporte.GridView;
import pe.adra.core.ext.soporte.SuportEntidad;
import pe.adra.util.exception.ValidarException;

public interface ADRAMantBaseController<T> {

	public List<Map<String,Object>> listarMap(T filtro, Date finit, Date ffin, int inicio, int fin, String strSort, String strOrder, SuportEntidad... innerjoin);
	
	public List<Map<String,Object>> listarMap(GridView filtro, Date finit, Date ffin);
	
	public List<T> listar(T filtro, Date finit, Date ffin, int inicio, int fin, String strSort, String strOrder, SuportEntidad... innerjoin);
	
	public List<T> listar(GridView filtro, Date finit, Date ffin);
	
	public T guardar(T entidad);
	
	public int activo(T entidad);
	
	public T obtener(Long id);
	
	public void validar(T entidad) throws ValidarException;
	
}
